import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook
import xlsxwriter

html = requests.get('http://www.che168.com/china/a0_0msdgscncgpi1lto8csp3exx0/?pvareaid=102179#currengpostion')
soup = BeautifulSoup(html.text, 'html.parser')
lists = soup.select('a.carinfo')
for data in lists:
    print(data.text)
lists = soup.select('a.carinfo')
result = []
arr = []
arr2 = []
for data in lists:
    name = data.select_one('h4').text
    car = data.select_one('p').text
    price = data.select_one('span').text
    value = data.select_one('s').text
    string = name + ',' + car + ',' + price + ',' + value
    arr = string.split(',')
    print(arr)
    result.append(arr)
print(result)
wb = xlsxwriter.Workbook('D:/汽车之家二手车.xlsx', {'constant_memory': True})
ws = wb.add_worksheet('二手车信息')
head = ['车辆型号', '信息', '现价', '原价']
ws.write_row(0, 0, head)
m = 1
for val in result:
    for j in range(len(val)):
        ws.write_row(m, 0, val)
    m = m + 1
wb.close()
'''1.requests.get() 函数发送 HTTP 请求获取指定网页的内容。
2.BeautifulSoup 库用于解析 HTML 文本。
3.soup.select('a.carinfo') 选择符合特定 CSS 选择器的元素。
4.遍历选择的元素，提取车辆的相关信息，包括名称、车辆信息、现价和原价。
5.将提取的信息组合成字符串，并通过 split() 方法分割成列表。
6.将分割后的列表添加到 result 列表中。
7.使用 xlsxwriter 库创建 Excel 文件，并添加表头。
8.遍历 result 列表，将数据写入 Excel 文件的行中。
9.最后关闭 Excel 文件。'''

'''BeautifulSoup 的用法：
1.解析 HTML 或 XML 文档：使用 BeautifulSoup(html_doc, 'html.parser') 或类似的方式解析文档。
2.查找元素：使用 find() 或 find_all() 方法来查找特定的元素。
3.获取元素的属性：使用 attrs 属性来获取元素的属性。
4.获取元素的文本内容：使用 text 属性来获取元素的文本内容。
5.遍历元素：可以使用循环来遍历找到的元素列表。
6.修改元素：可以修改元素的属性或文本内容。'''